home *** CD-ROM | disk | FTP | other *** search
- ;
- ;CPU AND NDP ID routines
-
- =======================================================================
- Copyright (C) Copr. 1990, 1991 1992, 1993, 1994 by Sidney J. Kelly
- All Rights Reserved.
- Sidney J. Kelly
- 150 Woodhaven Drive
- Pittsburgh, PA 15228
- home phone 412-561-0950 (7pm to 9:30pm EST)
-
- CompuServe 70043,1656
- =======================================================================
-
-
- MASM Theory:
- The MASM routines were designed to be compiled with MS
- QUICK ASSEMBLER, using simplified segment names. They should
- compile with MS MASM 5.1 and above. The DOSSEG keyword might not
- be supported by your version of MASM, so use the MASM keyword
- that arranges the segments in DOS order, rather than ALPHA order.
- If you use TASM with QUIRKS and MASM51 you should be able to
- compile these programs with TASM. The @@, @f, @b are local
- labels used so I can skip ahead without having to think up
- unique names. Don't use @@, @f,@b inside MASM Macros,
- use LOCAL alphanumeric names instead. MASM too easily can
- lose track of which local label you mean.
- The simplified directives really save time when you
- have to identify variables on the stack, and push and pop
- variables. I use the full PROC function and the regular PROC
- keywords interchangeably. Full PROC format is not necessary when
- there is no need to address variables on the stack (i.e. no need
- to change BP to address the stack) and the QBASIC routine is
- described as a FUNCTION or a SUB that does not take or return
- parameters..
- The EVEN directive is used to word align loops for
- 80286 and 80386 machines. EVEN inserts NOPS as necessary to word
- align loops. The QBASIC BYVAL directive is used to get
- information directly from QBASIC without having to use [BX] or
- [SI] to fish out the correct information. To allow for
- compatibility with the 8088 chip, shifts rather than MULs are
- used for speed. I use .code to store most of my variables to
- save space in DGROUP, which is comparatively tiny and easily
- filed with string data.
- To program in OS/2 code segment variables are
- "verbotten", and you must use local variables on the stack. I
- don't have access to the OS/2 DOS compatibility box, so I don't
- know how these routines would work under OS/2. I am certain that
- none of these routines would work smoothly under protected mode
- because they often access the BIOS or the hardware.
-
- What's available:
-
- DOSBASIC ZIP - (released 12-19-90). The first draft
- of many of these routines. The current version is much faster and does
- more. Uploaded on GENIE and COMPUSERVE
-
- VIDBASIC (released 11-29-90)
- - A selection of text mode video routines. Bannerware.
- The library allows the user to select, move, switch, change, save,
- restore, draw boxes, and write with lightening speed. MASM .ASM code,
- .OBJ, and a demo routine with source is included. Uploaded by author on
- GENIE and COMPUSERVE.
-
- KEYBASIC - (released 12-14-90)
- A selection of Microsoft Compatible Mouse and
- Keyboard utilities. Text mode mouse utilities. Fast mouse utilities.
- Turn off CONTROL-BREAK so you can use LINE INPUT$ without error if user
- pushes the Control-Break key. Bannerware. MASM .ASM code, .OBJ, and a
- demo routine with source is included. Uploaded by author on GENIE and
- COMPUSERVE.
-
- PDS-VID ZIP (released 03-01-91)
- Shows how to use far strings inside QBX/PDS. Gives all the
- proper library call format. Uploaded on COMPUSERVE.
-
- EDIT-QB ZIP (released 05-23-91)
- A fast on screen text line editor. Should be compatible with
- all displays because it uses bios calls to display characters.
-
- VERT-LIB ZIP (released 12-31-91)
- with update VERT-L1 ZIP (04-27-92). This shows a complex
- shell for QBASIC near strings. Complete display control, PULL DOWN
- and POP UP menus, and simple help box. Works with MOUSE or keyboard.
- Full source MASM and QBASIC included.
-
- QB-EQUIP ZIP (released 12-31-92)
- A fast set of hardware ID routines with MASM source. Bannerware.
- Uploaded on COMPUSERVE.
-
- VOL-ID.ZIP (released 05/03/93)
- Shows how to obtain the volume label from a disk and set it too.
- Bannerware. Uploaded on COMPUSERVE
-
- As always, constructive criticism is desired. These libraries
- were released as Bannerware (you can use the .OBJ files) but you can't
- sell the source) to encourage a sharing of ideas. If you have
- something to say, I welcome your comments. With application programs
- there appears to be a significant and speedy exchange of ideas,
- programmers, on the other hand, seem to move at a much slower pace, with
- Jim Mack being the notable exception.
-